package com.example.datajpa.repository;

import com.example.datajpa.domain.Person;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.util.List;

/**
 * 改变 PersonRepository 的继承关系，可以注入使用CustomPersonRepository，但是不能直接注入 CustomRepository 使用
 * @author ljw
 * @description
 * @date 2022/6/14 8:00
 */
public interface CustomPersonRepository extends CustomRepository<Person, Long> {

    List<Person> findByAddress(String name);

    Person findByNameAndAddress(String name, String address);

    @Query("select p from Person p where p.name=:name and p.address=:address")
    Person withNameAndAddressQuery(@Param("name") String name, @Param("address") String address);

    Person withNameAndAddressNamedQuery(String name, String address);
}
